package com.snpic.appaw.module.third.api.bjpt.dto.iSPolicyQuery;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author JiJun
 * @date 2025/9/19 19:30
 * @修改时间 2025/9/19 19:30
 * @description
 */

@Data
@Schema(description = "险别风险因子信息数据传输对象")
public class ISKindFactorDTO {

    @Schema(description = "优惠序号", maxLength = 10, required = true)
    private String serialNo;

    @Schema(description = "自主核保因子代码", maxLength = 10, required = true)
    private String factorCode;

    @Schema(description = "自主核保因子名称", maxLength = 50, required = true)
    private String factorName;

    @Schema(description = "系数是否使用(Y给定，N可以不给定)", maxLength = 1, required = true)
    private String mustUseMark;

    @Schema(description = "是否驾驶人优惠绑定使用(Y：绑定使用 其他为不绑定)", maxLength = 1, required = true)
    private String unionUseMark;

    @Schema(description = "因子最小值", example = "0.5000", required = true)
    private BigDecimal lowerFactor;

    @Schema(description = "因子最大值", example = "1.5000", required = true)
    private BigDecimal upperFactor;

    @Schema(description = "因子值", example = "1.0000", required = true)
    private BigDecimal factorValue;

    @Schema(description = "因子离散值/自律区间值", example = "0.1000", required = true)
    private BigDecimal moreFactor;

    @Schema(description = "优惠类型标志(1：全单，2：对具体险别)", maxLength = 1, required = true)
    private String profitMark;

    @Schema(description = "优惠具体险别", maxLength = 300)
    private String factorKindCodes;

    @Schema(description = "规则名称", maxLength = 100)
    private String ruleName;

    @Schema(description = "规则具体信息", maxLength = 200)
    private String ruleInfo;

    @Schema(description = "拟合后是否使用(Y：拟合后使用，N：拟合后没有使用)", maxLength = 2)
    private String profitUseFlag;
}
